package com.ygp.dtp.core.notify;

import com.ygp.dtp.common.dto.DynamicThreadPoolMainProperty;
import com.ygp.dtp.common.enums.NotifyTypeEnum;

import java.util.List;

/**
 * @description: 通知顶层类
 * @motto: 代码源于生活，高于生活艺术
 * @author: zhouhengzhe
 * @date: 2022/8/9 15:40
 * @since 1.0
 **/
public interface Notifier {

    /**
     * 获取平台名
     *
     * @return 平台名
     */
    String platform();

    /**
     * 发送更改通知消息。
     *
     * @param oldProp 旧的属性
     * @param diffs   改变的key
     */
    void sendChangeMsg(DynamicThreadPoolMainProperty oldProp, List<String> diffs);

    /**
     * 发送告警信息
     *
     * @param typeEnum 通知类型
     */
    void sendAlarmMsg(NotifyTypeEnum typeEnum);
}
